package com.cloudkinto.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.util.Date;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 * @author hua
 * @since 2024-12-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_defective")
public class DefectiveDo extends Model<DefectiveDo> {

    private static final long serialVersionUID=1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 处理单号
     */
    @TableField("defective_no")
    private String defectiveNo;

    /**
     * 仓库
     */
    @TableField("wh_id")
    private Long whId;

    /**
     * 处理库存类型 1FNSKU(暂时不做) 2 SKU
     */
    @TableField("stock_kind")
    private Integer stockKind;

    /**
     * 处理类型 1 次品出库 2次品销毁 3次品翻新
     */
    @TableField("handle_method")
    private Integer handleMethod;

    /**
     * 状态 10 20 50 60
     */
    @TableField("oms_status")
    private Integer omsStatus;

    /**
     * 状态 10 20 30 50 60
     */
    @TableField("wms_status")
    private Integer wmsStatus;

    @TableField(value = "company_id", fill = FieldFill.INSERT)
    private Long companyId;

    @TableField(value = "tenant_id", fill = FieldFill.INSERT)
    private Long tenantId;

    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    @TableField("tips")
    private String tips;

    /**
     * 收件人
     */
    @TableField("receiver")
    private String receiver;

    /**
     * 电话
     */
    @TableField("telephone")
    private String telephone;

    /**
     * 邮箱
     */
    @TableField("email")
    private String email;

    /**
     * 收件人税号
     */
    @TableField("tax_num")
    private String taxNum;

    /**
     * 公司名称
     */
    @TableField("com_name")
    private String comName;

    /**
     * 国家/公司
     */
    @TableField("country_code")
    private String countryCode;

    /**
     * 省/州
     */
    @TableField("province_code")
    private String provinceCode;

    /**
     * 城市名称
     */
    @TableField("city_code")
    private String cityCode;

    /**
     * 邮编
     */
    @TableField("post_code")
    private String postCode;

    /**
     * 门牌号
     */
    @TableField("house_num")
    private String houseNum;

    /**
     * 地址1
     */
    @TableField("address_one")
    private String addressOne;

    @TableField("address_two")
    private String addressTwo;

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private Long createBy;

    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    @TableField(value = "update_by", fill = FieldFill.UPDATE)
    private Long updateBy;

    @TableField("delete_time")
    private Date deleteTime;

    @TableField("delete_by")
    private Long deleteBy;

    @TableField("submit_time")
    private Date submitTime;

    @TableField("submit_by")
    private Long submitBy;

    @TableField("submit_pick_time")
    private Date submitPickTime;

    @TableField("submit_pick_by")
    private Long submitPickBy;

    @TableField("finish_pick_time")
    private Date finishPickTime;

    @TableField("finish_pick_by")
    private Long finishPickBy;

    @TableField("complete_time")
    private Date completeTime;

    @TableField("complete_by")
    private Long completeBy;

    @TableField("cancel_time")
    private Date cancelTime;

    @TableField("cancel_by")
    private Long cancelBy;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
